﻿using System;
using TTQT.TTQT_Code;
using TTQT.TTQT_Code.Info;
using System.Drawing;
namespace TTQT.Web
{
    /// <summary>
    /// Summary description for WebForm1.
    /// </summary>
    public partial class Default : MasterPage // System.Web.UI.Page
    {

        #region Web Form Designer generated code

        override protected void OnInit(EventArgs e)
        {
            //
            // CODEGEN: This call is required by the ASP.NET Web Form Designer.
            //
            InitializeComponent();
            base.OnInit(e);
        }

        /// <summary>
        /// Required method for Designer support - do not modify
        /// the contents of this method with the code editor.
        /// </summary>
        private void InitializeComponent()
        {
            if (Session["UserId"] == null)
            {
                int pageId = TTQTCommon.ToInt32(Request.QueryString["PageId"], 0);
                Response.Redirect("Administration/Login.aspx?PageId="+pageId);
            }
        }

        #endregion

        protected void Page_Load(object sender, System.EventArgs e)
        {
            try
            {
                int pageId = TTQTCommon.ToInt32(Request.QueryString["PageId"], 0);
                if (pageId == 0)
                {
                    //placeHolder.Controls.Clear();

                    if (isRole("gdv") || isRole("adminCN"))
                    {
                        placeHolder.Controls.Add(LoadControl("GiaoDich/HoaDonTrongNgay.ascx"));
                    }
                    else
                    {
                        placeHolder.Controls.Add(LoadControl("Administration/Welcome.ascx"));
                    }
                    return;
                }
                else
                {
                    CmdInfo cmdInfo = DataAccessObject.instance().getCmd(pageId);
                    if (cmdInfo.Cmd_Name == "Thoát")
                    {
                        Session.RemoveAll();
                        Response.Redirect("Default.aspx");
                        return;
                    }
                    // Nếu đây không phải là superAdmin thì kiểm tra xem nhóm hiện tại có quyền sử dụng chức năng này không
                    if (isSuperAdmin.Equals("0"))
                    {
                        if (DataAccessObject.instance().checkPermission(TTQTCommon.ToInt32(Session["UserId"], -1), pageId) > 0)
                        {
                            if (!cmdInfo.Cmd_Path.EndsWith("ascx"))
                            {
                                Response.Redirect(cmdInfo.Cmd_Path);
                            }
                            this.lblCmdName.Text = cmdInfo.Cmd_Name;
                            try
                            {
                                placeHolder.Controls.Add(LoadControl(cmdInfo.Cmd_Path));
                            }
                            catch (Exception ex)
                            {
                                string strErr = "<script language =\"javascript\">\n alert(\"Không load được trang \");\n </script>";
                                Page.RegisterClientScriptBlock("loadPageErr", strErr);
                                Response.Write("<div style='background-color:white;color:red;'>" + ex.ToString() + "</div>");
                            }
                        }
                        else
                        {
                            placeHolder.Controls.Add(LoadControl("Administration/AccessDenied.ascx"));
                        }
                    }
                    else // nếu là superadmin thì không cần kiểm tra quyền sử dụng chức năng nữa, mà chuyển ngay đến trang được yêu cầu
                    {
                        if (!cmdInfo.Cmd_Path.EndsWith("ascx"))
                        {
                            Response.Redirect(cmdInfo.Cmd_Path);
                        }
                        this.lblCmdName.Text = cmdInfo.Cmd_Name;
                        try
                        {
                            placeHolder.Controls.Add(LoadControl(cmdInfo.Cmd_Path));
                        }
                        catch (Exception ex)
                        {
                            string strErr = "<script language =\"javascript\">\n alert(\"Không load được trang \");\n </script>";
                            Page.RegisterClientScriptBlock("loadPageErr", strErr);
                            Response.Write("<div style='background-color:white;color:red;'>" + ex.ToString() + "</div>");
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                string err = ex.ToString();
            }

        }
        protected void lnkThoat_Click(object sender, EventArgs e)
        {
            try
            {
                //Write a logout log into Log Table
                TTQT.TTQT_Code.Info.LogInfo obj_log = new TTQT_Code.Info.LogInfo(Request.UserHostAddress, userName, "Log out", "Thoát khỏi hệ thống", "", this.brnCode);
                TTQT.TTQT_Code.DataAccessObject.instance().addLog(obj_log);
            }
            catch (Exception ex)
            {
            }
            Session.Clear();
            Response.Redirect("Default.aspx");
        }
    }
}